package com.atguigu.gulimall.cart.feign.fallback;

import com.atguigu.common.exception.BizCodeEnum;
import com.atguigu.common.utils.R;
import com.atguigu.gulimall.cart.feign.ProductFeignService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @create: 2024/9/8
 * @author: gyhe10
 * @description:
 **/
@Slf4j
@Component
public class ProductFeignServiceFallback implements ProductFeignService {
    @Override
    public R getSkuInfo(Long skuId) {
        log.error("远程调用 product 服务获取商品详情失败，涉及商品 skuId：{}", skuId);
        return R.error(BizCodeEnum.CALL_OTHER_SERVICE_EXCEPTION.getCode(), "远程调用 product 服务获取商品详情失败，涉及商品 skuId：" + skuId);
    }

    @Override
    public R getSkuSaleAttrValuesBySkuId(Long skuId) {
        log.error("远程调用 product 服务获取商品销售属性组合失败，涉及商品 skuId：{}", skuId);
        return R.error(BizCodeEnum.CALL_OTHER_SERVICE_EXCEPTION.getCode(), "远程调用 product 服务获取商品销售属性组合失败，涉及商品 skuId：" + skuId);

    }

    @Override
    public Map<Long, BigDecimal> getSkuPricesBySkuIdList(List<Long> skuIdList) {
        log.error("远程调用 product 服务批量获取商品最新价格失败，涉及商品 skuId：{}", skuIdList);
        return null;
    }
}
